import axiosIns from "@/utils/request";

export const followUserApi = (params?: { id: string | number; t: number }) => {
	//t : 1为关注,其他为取消关注
	return axiosIns.get("/follow", {
		params: { ...params, timeStamp: Date.now() },
	});
};
export const getEventApi = (
	params: { pagesize: number; lasttime: number } = {
		pagesize: 20,
		lasttime: -1,
	}
) => {
	//t : 1为关注,其他为取消关注
	return axiosIns.get("/event", {
		params: { ...params, timeStamp: Date.now() },
	});
};
export const getCountriesCodeListApi = () => {
	return axiosIns.get("/countries/code/list");
};
//心动模式/智能播放
//必选参数
//id : 歌曲 id
//pid : 歌单 id
//可选参数
//sid : 要开始播放的歌曲的 id
export const getIntelligenceListApi = (params: { id: number; pid: number; sid?: number }) => {
	return axiosIns.get("/playmode/intelligence/list", { params });
};
// limit: 取出评论数量 , 默认为 20

// offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*20, 其中 20 为 limit 的值
export const getHotTopicApi = (params: { limit: number; offset: number } = { limit: 5, offset: -1 }) => {
	return axiosIns.get("/hot/topic", { params });
};

//获取动态评论
export const getEventCommentApi = (threadId) => {
	return axiosIns.get("/comment/event", { params: { threadId, timestamp: Date.now() } });
};

//获取视频评论
export const getVideoCommentApi = (params: { id: number | string; limit?: number; offset?: number; before?: number }) => {
	return axiosIns.get("/comment/video", { params });
};

//获取榜单列表
export const getTopListApi = () => {
	return axiosIns.get("/toplist");
};
// type: 数字,资源类型,对应歌曲,mv,专辑,歌单,电台,视频对应以下类型
// 0: 歌曲
// 1: mv
// 2: 歌单
// 3: 专辑
// 4: 电台
// 5: 视频
// 6: 动态

// t:1 发送, 2 回复

// id:对应资源 id

// content :要发送的内容

// commentId :回复的评论 id (回复评论时必填)
// 注意：如给动态发送评论，则不需要传 id，需要传动态的 threadId,如：/comment?t=1&type=6&threadId=A_EV_2_6559519868_32953014&content=test
export const commentApi = (args: {
	type?: number;
	t?: number;
	id?: string | number;
	content: string;
	commentId?: string | number;
	threadId?: string;
}) => {
	const { type = 6, t = 1 } = args;
	return axiosIns.get("/comment", { params: { type, t, ...args, timeStamp: Date.now() } });
};
// type:资源类型,对应以下类型
// 1: mv
// 4: 电台
// 5: 视频
// 6: 动态

// t: 操作,1 为点赞,其他为取消点赞

// id: 资源 id

// 注意：如给动态点赞，不需要传入 id，需要传入 threadId
export const likeResourceApi = (params: { type: number; t: number; id?: string | number; threadId?: string }) => {
	return axiosIns.get("/resource/like", { params: { ...params, timeStamp: Date.now() } });
};

// type: 数字 , 资源类型 , 对应歌曲 , mv, 专辑 , 歌单 , 电台, 视频对应以下类型
// 0: 歌曲
// 1: mv
// 2: 歌单
// 3: 专辑
// 4: 电台
// 5: 视频
// 6: 动态

export const likeCommentApi = (params: {
	id?: string | number;
	cid: string | number;
	t: 0 | 1;
	type: 0 | 1 | 2 | 3 | 4 | 5 | 6;
	threadId?: string;
}) => {
	console.log(params);
	return axiosIns.get("/comment/like", { params: { ...params, timestamp: Date.now() } });
};

// 转发用户动态
// 必选参数 : uid : 用户 id
// evId : 动态 id
// forwards : 转发的评论
export const forwardEventApi = (params: { uid: number | string; evId: string | number; forwards?: string }) => {
	return axiosIns.get("/event/forward", { params });
};
